<script>
	export default {
		mounted() {
			/**官网有很多关于关于sdk 其他的监听方法（比如：有新的消息，用户资料更新等等）
			 * 详情可对照： https://imsdk-1252463788.file.myqcloud.com/IM_DOC/Web/SDK.html
			 * 监听的含义：服务端发生了数据变更---前端全局可以接收到变更通知--前端就可以自动触发某个事件来更新相应数据
			 * */
			// 登录成功后会触发 SDK_READY 事件，该事件触发后，可正常使用 SDK 接口
			this.tim.on(this.$TIM.EVENT.SDK_READY, this.onReadyStateUpdate, this);
			// 收到新消息
			this.tim.on(this.$TIM.EVENT.MESSAGE_RECEIVED, this.onReceiveMessage);
			// 会话列表更新
			this.tim.on(this.$TIM.EVENT.CONVERSATION_LIST_UPDATED, event => {
				this.$store.commit("updateConversationList", event.data);
			});
		},
		methods: {
			onReadyStateUpdate({
				name
			}) {
				const isSDKReady = name === this.$TIM.EVENT.SDK_READY ? true : false;
				//自动监听并更新 sdk 的ready 状态 （未登录是 notReady  登录后是ready）
				this.$store.commit("toggleIsSDKReady", isSDKReady);
				//sdk ready 后  肯定完成了登录操作    这里可以获取用户存储在im的基础信息/离线消息/黑名单列表
			},

			onReceiveMessage({
				data: messageList
			}) {
				// this.handleAt(messageList);
				console.log(messageList);
				this.$store.commit("pushCurrentMessageList", messageList);
			},
			//根据消息列表请求聊天对象的用户信息 并完成数据拼接

		},
		onLaunch: function() {
			
			console.log('App Launch')
			let id = uni.getStorageSync("token");
			if (id == undefined || id == '') {
				console.log("未登陆");
				uni.reLaunch({
					url:"/pages/login/login"
				})
			}
			
			
			var that = this;
			this.$util.nuiAjax(this.$jiekou.getVersion, {}, function(res) {
				if (res.result == "true") {
					var oldVersion = uni.getStorageSync("version");
					var version = {
						versionUrl:res.versionUrl,
						versionCode:res.versionCode,
						versionSort:res.versionSort,
						isQiangzhi:res.isQiangzhi
					};
					if(oldVersion==undefined || oldVersion ==''){
						oldVersion = {
							versionCode:"1.0.0",
							versionSort:0,
						}
					}
					
					if(that.$jiekou.versionCode<Number(version.versionSort)){
						oldVersion.isHave = true;
						oldVersion.newUrl = res.versionUrl;
						uni.setStorageSync("version",oldVersion);
						that.newversion = version;
						if(version.isQiangzhi==1){//强制更新，直接下载
						
							uni.showModal({
								title: '版本',
								content: '有新的版本,请确认是否更新',
								showCancel:false,
								success: function (res) {
									if (res.confirm) {
										plus.runtime.openURL(version.versionUrl);  
									} else if (res.cancel) {
										console.log('用户点击取消');
									}
								}
							});
							// plus.runtime.openURL(version.versionUrl);  
						}else{
							uni.showModal({
							    title: '版本',
							    content: '有新的版本,请确认是否更新',
							    success: function (res) {
							        if (res.confirm) {
							           	plus.runtime.openURL(version.versionUrl);  
							        } else if (res.cancel) {
							            console.log('用户点击取消');
							        }
							    }
							});
						}
					}else{
						uni.setStorageSync("version",version);
					}
					
					
					
				}
			})
			
			
			
			// #ifdef APP-PLUS  
			//app关闭默认的启动 方法关闭启动图。但是这个时间不能太晚，6s 超时后依旧会主动关闭。  
			setTimeout(() => {
				plus.navigator.closeSplashscreen();
			}, 1200)
			// #endif  
			
		},
		onShow: function() {
			console.log('App Show')
			var that = this;
			this.$util.nuiAjax(this.$jiekou.getPicBase, {}, function(res) {
				if (res.result == "true") {
					that.$jiekou.uploadBaseUrl = res.picBase;
					// let id = uni.getStorageSync("token");
					// if (id == undefined || id == '') {

					// 	console.log("未登陆");
					// 	// if (value == undefined || value == '' || value == null) {
					// 	that.$util.toUrl("/pages/login/login");
					// 	// }
					// } else {

					// }

				}
			})
		},
		onHide: function() {
			console.log('App Hide')
		}
	}
</script>

<style lang="scss">
	/*每个页面公共css */
	@import "uview-ui/index.scss";
	@import './common/uni.css';
	@import '@/common/colorui/main.css';
	@import '@/common/colorui/icon.css';
</style>
